package com.tedu.day02.oop;


/**
 * 继承关系---多态性
 * 作用：父子级关系，实现方法互通(重写)
 */
class A1 {
    public void tell1() {
        System.out.println("A--你好，我是tell1");
    }

    public void tell2() {
        System.out.println("A--你好，我是tell2");
    }
}
class B1 extends A1 {
    public void tell2() {
        System.out.println("B--你好，我是tell2");
    }

    public void tell3() {
        System.out.println("B--你好，我是tell3");
    }
}
public class 多态 {
    public static void main(String[] args) {
         //创建B1对象--创建1个对象  子类
        //   B1 b=new B1();
        //   A1 a=b;    //子类交给父类保存  向上造型
        //实现方法互通 调用父类与子类的方法
        //   a.tell1();  //父类中方法
        //   a.tell2();  //重写：方法互通
        //向下造型：实现方法互通，调用父类与子类的方法
        //①向上造型1次：父类的引用指向子类的对象
        A1 a=new B1();
        //②子类接收：向上造型1次引用，并且强转
         B1 b=(B1)a;
        b.tell1();  //父类的方法
        b.tell2();  //重写：父类的方法--输出子类
        b.tell3();  //子类的方法

    }
}